package com.zucc.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;

public class Inventory implements Serializable {
    /**
     * 表对象编号
     */
    @Id
    private Long id;

    /**
     * 是否被删除，0：未删除，1：已删除
     */
    @Column(name = "del_flag")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 创建人编号
     */
    @Column(name = "create_person_id")
    private Long createPersonId;

    /**
     * 最后修改时间
     */
    @Column(name = "modify_time")
    private Date modifyTime;

    /**
     * 最后修改人编号
     */
    @Column(name = "modify_person_id")
    private Long modifyPersonId;

    /**
     * 软删除时间
     */
    @Column(name = "delete_time")
    private Date deleteTime;

    /**
     * 删除人编号
     */
    @Column(name = "delete_person_id")
    private Long deletePersonId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 盘点类型：0:年度盘点、1:月度盘点、2:临时盘点
     */
    private Integer type;

    /**
     * 盘点日期
     */
    private Date date;

    /**
     * 盘点人编号
     */
    @Column(name = "user_id")
    private Long userId;

    /**
     * 盘点状态，0:待执行，1:执行中，2:已完成
     */
    private Integer status;

    private static final long serialVersionUID = 1L;

    /**
     * 获取表对象编号
     *
     * @return id - 表对象编号
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置表对象编号
     *
     * @param id 表对象编号
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取是否被删除，0：未删除，1：已删除
     *
     * @return del_flag - 是否被删除，0：未删除，1：已删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否被删除，0：未删除，1：已删除
     *
     * @param delFlag 是否被删除，0：未删除，1：已删除
     */
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人编号
     *
     * @return create_person_id - 创建人编号
     */
    public Long getCreatePersonId() {
        return createPersonId;
    }

    /**
     * 设置创建人编号
     *
     * @param createPersonId 创建人编号
     */
    public void setCreatePersonId(Long createPersonId) {
        this.createPersonId = createPersonId;
    }

    /**
     * 获取最后修改时间
     *
     * @return modify_time - 最后修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置最后修改时间
     *
     * @param modifyTime 最后修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取最后修改人编号
     *
     * @return modify_person_id - 最后修改人编号
     */
    public Long getModifyPersonId() {
        return modifyPersonId;
    }

    /**
     * 设置最后修改人编号
     *
     * @param modifyPersonId 最后修改人编号
     */
    public void setModifyPersonId(Long modifyPersonId) {
        this.modifyPersonId = modifyPersonId;
    }

    /**
     * 获取软删除时间
     *
     * @return delete_time - 软删除时间
     */
    public Date getDeleteTime() {
        return deleteTime;
    }

    /**
     * 设置软删除时间
     *
     * @param deleteTime 软删除时间
     */
    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    /**
     * 获取删除人编号
     *
     * @return delete_person_id - 删除人编号
     */
    public Long getDeletePersonId() {
        return deletePersonId;
    }

    /**
     * 设置删除人编号
     *
     * @param deletePersonId 删除人编号
     */
    public void setDeletePersonId(Long deletePersonId) {
        this.deletePersonId = deletePersonId;
    }

    /**
     * 获取备注
     *
     * @return remarks - 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 设置备注
     *
     * @param remarks 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    /**
     * 获取盘点类型：0:年度盘点、1:月度盘点、2:临时盘点
     *
     * @return type - 盘点类型：0:年度盘点、1:月度盘点、2:临时盘点
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置盘点类型：0:年度盘点、1:月度盘点、2:临时盘点
     *
     * @param type 盘点类型：0:年度盘点、1:月度盘点、2:临时盘点
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取盘点日期
     *
     * @return date - 盘点日期
     */
    public Date getDate() {
        return date;
    }

    /**
     * 设置盘点日期
     *
     * @param date 盘点日期
     */
    public void setDate(Date date) {
        this.date = date;
    }

    /**
     * 获取盘点人编号
     *
     * @return user_id - 盘点人编号
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置盘点人编号
     *
     * @param userId 盘点人编号
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取盘点状态，0:待执行，1:执行中，2:已完成
     *
     * @return status - 盘点状态，0:待执行，1:执行中，2:已完成
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置盘点状态，0:待执行，1:执行中，2:已完成
     *
     * @param status 盘点状态，0:待执行，1:执行中，2:已完成
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", delFlag=").append(delFlag);
        sb.append(", createTime=").append(createTime);
        sb.append(", createPersonId=").append(createPersonId);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", modifyPersonId=").append(modifyPersonId);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", deletePersonId=").append(deletePersonId);
        sb.append(", remarks=").append(remarks);
        sb.append(", type=").append(type);
        sb.append(", date=").append(date);
        sb.append(", userId=").append(userId);
        sb.append(", status=").append(status);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}